package ar.com.algotres.tpdos.modelo.fisica.movimiento;

import ar.com.algotres.tpdos.modelo.fisica.CoordenadasDePosicioInvalidaException;
import ar.com.algotres.tpdos.modelo.fisica.Posicion;
import ar.com.algotres.tpdos.modelo.fisica.direcciones.Direccion;

public class Movimiento {

	public static Movimiento crearMovimientoCon(Direccion direccion) {
		Movimiento movimiento = new Movimiento();
		movimiento.direccion = direccion;
		return movimiento;
	}

	private Direccion direccion;

	private Movimiento() {
	}

	public Posicion damePosicionSiguienteA(Posicion actual)
			throws CoordenadasDePosicioInvalidaException {
		Posicion siguiente = direccion.damePosicionSiguiente(actual);
		return siguiente;
	}

	public void invertir() {
		direccion = direccion.invertir();
	}
}
